/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sosrestclientfinal;

/**
 *
 * @author pablomosquera
 */
public class SosrestclientFinal {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        Usuarios usuario = new Usuarios();
        Calendarios calendario = new Calendarios();
        Citas cita = new Citas();
        int salida = 0;
        String nombre;
        String apellido;
        String correo;
        String password;
        String usuarionuevo;
        String idcalendario;
        String idusuario;
        String nombrec;
        String idc;
        String pp;
        String calendarionuevo;
        String citanueva;
        String nombreci;
        String idci;
        String recurrente;
        String fecha;
        
        do{
            
        System.out.println("Que desea hacer?");
        System.out.println("1. para ingresar usuario");
        System.out.println("2. para ingresar calendario");
        System.out.println("3. para ingresar cita");
        System.out.println("4. para mostrar todos los usuario");
        System.out.println("5. para obtener todas las citas de un calendario");
        System.out.println("6. para obtener todas las citas de todos los calendarios de un usuario");
        System.out.println("0. para salir");
        
        
        System.out.print("escriba su opcion: ");
        salida = CTeclado.ReadInt();
        if(salida == 1){
            System.out.print("Inserte el nombre del usuario: ");
            nombre = CTeclado.ReadString();
            System.out.println(" ");
            System.out.print("Inserte el apellido del usuario: ");
            apellido = CTeclado.ReadString();
            System.out.println(" ");
            System.out.print("Inserte el correo del usuario: ");
            correo = CTeclado.ReadString();
            System.out.println(" ");
            System.out.print("Inserte el password del usuario: ");
            password = CTeclado.ReadString();
            System.out.println(" ");
            
            usuarionuevo = usuarioXML(nombre,apellido,correo,password);
            usuario.create_XML(usuarionuevo);
            System.out.println("usuario creado!.");
        }
        if(salida ==2){
            System.out.print("Inserte el nombre del calendario: ");
            nombrec = CTeclado.ReadString();
            System.out.println(" ");
            System.out.print("Inserte el id del usuario al cual va asignarle el calendario: ");
            idc = CTeclado.ReadString();
            System.out.println(" ");
            System.out.print("desea que sea privado (false) o publico (true): ");
            pp = CTeclado.ReadString();
            System.out.println(" ");
            
            calendarionuevo = calendarioXML(nombrec,pp,idc);
            calendario.create_XML(calendarionuevo);
            System.out.println("calendario creado!.");
        
        }
        
         if(salida ==3){
            System.out.print("Inserte el nombre de la cita: ");
            nombreci = CTeclado.ReadString();
            System.out.println(" ");
            System.out.print("Inserte el id del calendario al cual va asignarle la cita: ");
            idci = CTeclado.ReadString();
            System.out.println(" ");
            System.out.print("desea que sea recurrente (true) o no (false): ");
            recurrente = CTeclado.ReadString();
            System.out.println(" ");
            System.out.print("fecha AAAA-MM-DD: ");
            fecha = CTeclado.ReadString();
            System.out.println(" ");
            
            citanueva = citaXML(nombreci,idci,recurrente,fecha);
            cita.create_XML(citanueva);
            System.out.println("cita creada!.");
        
        }
        
        
        if(salida ==4){
        System.out.println(usuario.findAll_XML(String.class));
        
        }
        if(salida == 5){
            System.out.println("Que calendario desea consultar: ");
            idcalendario = CTeclado.ReadString();
            System.out.println(cita.findCitaByCalendario_XML(String.class, idcalendario));
        
        }
        if(salida == 6){
            System.out.println("Que usuario desea consultar: ");
            idusuario = CTeclado.ReadString();
            System.out.println(usuario.countEvents(idusuario, "0", "0"));
            
            System.out.println(usuario.EventsByUsuario_XML(String.class, idusuario, "0", "0"));
        
        }
        
        
        }while(salida!=0);
        
        
       /* String postusuario = "<usuarios><apellido>Perez</apellido><correo>perez.jaime@gmail.com</correo><nombre>Jaime</nombre><password>123456</password></usuarios>";
        usuario.create_XML(postusuario);
       
        System.out.println("usuario creado!.");
        
        String postingcalendario ="<calendarios><idUsuariofk><idUsuario>7</idUsuario></idUsuariofk><nombre>Cumpleaños</nombre><tipo>true</tipo></calendarios>";
        calendario.create_XML(postingcalendario);
        System.out.println("calendario creado!.");
       
        String postingcita = "<citas><descripcion>Practica de sos</descripcion><fecha>2012-12-21T10:10:10+01:00</fecha><idCalendariofk><idCalendario>10</idCalendario><idUsuariofk><idUsuario>1</idUsuario></idUsuariofk></idCalendariofk><idCitas></idCitas><recurrente>true</recurrente></citas>"; 
        cita.create_XML(postingcita);
        System.out.println("Cita insertada");
        
        String listacitas = cita.findCitaByCalendario_XML(String.class, "10");
        System.out.println(listacitas);
        System.out.println("Obtenidas todas las citas del calendario!.");
        
        String listausuarios = usuario.findAll_XML(String.class);
        System.out.println(listausuarios);
        System.out.println("Lista de usuarios obtenida!.");
        
        String listacitastodas = usuario.EventsByUsuario_XML(String.class, "7", "0", "0");
        System.out.println(listacitastodas);
        System.out.println("Todas las citas de todos los calendarios de un usuario!.");*/
        
    }
    public static String calendarioXML(String nombre, String tipo, String idusuario){
    String devolver = "<calendarios><idUsuariofk><idUsuario>"+idusuario+"</idUsuario></idUsuariofk><nombre>"+nombre+"</nombre><tipo>"+tipo+"</tipo></calendarios>";
         return devolver;
    }
    
    public static String usuarioXML(String nombre, String apellido, String correo, String password){
    String devolver = "<usuarios><apellido>"+apellido+"</apellido><correo>"+correo+"</correo><nombre>"+nombre+"</nombre><password>"+password+"</password></usuarios>"; 
    return devolver;
    }
    public static String citaXML(String descripcion, String idcalendario, String recurrente, String fecha){
    String devolver = "<citas><descripcion>"+descripcion+"</descripcion><fecha>"+fecha+"T10:10:10+01:00</fecha><idCalendariofk><idCalendario>"+idcalendario+"</idCalendario><idUsuariofk><idUsuario>1</idUsuario></idUsuariofk></idCalendariofk><idCitas></idCitas><recurrente>"+recurrente+"</recurrente></citas>"; 
    return devolver;
    }
    
            
}
